This relates generally to graphics processing pipelines in which a graphics image is developed by a series of processing steps in a graphics pipeline.
A graphics pipeline may include a number of shaders that use message sends to communicate information. A “message send” is a protocol used in graphics pipelines to send messages. Generally, the source for the message send needs to reside in a contiguous physical register before the message can be dispatched. This need for contiguous register allocation often involves explicit move instructions to copy source data into registers assigned to the message send. Thus, there is a need for a register allocation process in which the registers devoted to the message send are allocated with information from the various sources.